約 4,394 件
https://w.atwiki.jp/mcforum/pages/78.html
Unity 2019.1.0f2 SteamVR Plugin 2.2.0プロジェクトへのインポート時に出るダイアログ類は大体YesかAcceptAllする Unity VRゲームを作ってみたい/04-SteamVR テレポートしてみる の続き 1.前回の手順を踏んである状態であれば、適当なオブジェクトに[SteamVR]→[InteractionSystem]→[Core]→[Scripts]の[Interactable]スクリプトと[Throwable]スクリプトを付けるだけ 完 ※ うぐ・・・Playerのコライダーとぶつかる・・・どっかで回避方法見かけたな・・・
https://w.atwiki.jp/mcforum/pages/40.html
雑多な情報置き場 NPC 0.14以降に生成された宇宙にはショップにはNPCがいる NPCに話しかけると各種情報を聞くことや、NPCを雇うことができる 雇ったNPCは自分の乗っていた船(?)に所属し、所属している船とともに移動する 雇ったNPCに対して簡単な指示をすることができる Gravity Unit カーソルを合わせてRを押すと重力の影響下に入る Gravity Unitの向きによって重力の向きも変わる 船に取り付けられたGravity Unitの重力影響下にいる状態では、その船とともに移動する(船が動いたときに置いていかれない)
https://w.atwiki.jp/mcforum/pages/102.html
目次 表示系の異常カメラのSize変更時、またはウインドウサイズ変更時に消えるスプライトがある 葵ちゃんの位置がたまに茜ちゃんの前に来たり後ろに来たりする 処理速度の問題ロード直後が重い 表示系の異常 カメラのSize変更時、またはウインドウサイズ変更時に消えるスプライトがある とりあえず、カメラの Clipping Planes を Near -10000 Far 10000 に拡張して対処した。 おそらく本当は Z 座標値とカメラ スプライトの前後関係あたりが原因な気がしている 葵ちゃんの位置がたまに茜ちゃんの前に来たり後ろに来たりする 新しく葵ちゃんを作成するときに、茜ちゃんの位置を設定しているのが原因 一旦 Transform に取り出して、z 座標を常に 0 に設定するようにして回避 AoiController + 詳細を開く ~省略~public class AoiController MonoBehaviour, ICounterReceiver{~省略~ public void spawnAoi() { // prefab からインスタンスを生成 Vector3 pos = posTarget.transform.position; pos.z = 0; GameObject aoi = Instantiate(prefab, pos, Quaternion.identity);~省略~} 処理速度の問題 ロード直後が重い 物理演算の際に、大量に一気に増えたオブジェクト同士が干渉しあって計算量が増大している 出現地点をある程度分散したらマシになるかもしれないと思い、x 座標を若干ずらすコードを追加 コライダーの有効化を遅延させて有効にすることで緩和(根本解決ではない) あまり遅延が大きいと壁の判定を貫通していく。 ウインドウサイズ等壁との距離によっても壁到達までの時間が変わるため、カメラSizeが上がったら長めの遅延となるよう適当な計算式を入れている。 他にもインスタンスを予め生成しておき、画面外にプールしておく方法があるとのこと AoiController + 詳細を開く ~省略~public class AoiController MonoBehaviour, ICounterReceiver{~省略~ public void spawnAoi() { // prefab からインスタンスを生成 Vector3 pos = posTarget.transform.position; pos.z = 0; pos.x += (UnityEngine.Random.value - 0.5f); // 若干出現地点を左右に分散させる GameObject aoi = Instantiate(prefab, pos, Quaternion.identity);~省略~ // 生み出した葵ちゃんに力を与える aoiBody.AddForce(direction * prefabSpeed, ForceMode2D.Force); aoiBody.AddTorque(torque * prefabTorque, ForceMode2D.Force); // 生成時の負荷軽減のため、接触判定を0.2秒間保留する。 CapsuleCollider2D collider = aoi.GetComponent CapsuleCollider2D (); collider.enabled = false; StartCoroutine(DelayCoroutineSeconds(0.1f * (gameCntl.GetCount() * 0.01f), () = { collider.enabled = true; })); } private IEnumerator DelayCoroutineSeconds(float interval, Action action) { yield return new WaitForSeconds(interval); action?.Invoke(); }~省略~}
https://w.atwiki.jp/mcforum/pages/36.html
宇宙ステーション 当社が所有する宇宙ステーションの一覧です。 Station TOKYO (本社) 所属セクター [9, 5, 11] 資材の貯蔵、資材の製造、製品の開発を行っています。 Station GUNMA (権限放棄) 所属セクター [-1, 6, 0] ファクションの所属を外していますので、ファクションメンバー以外も利用が可能です。 Station CHIBA (解体予定) 所属セクター [9, 4, 10] 元海賊ステーション。防衛用のタレットを搭載しています。 特に使ってないので解体予定。
https://w.atwiki.jp/mcforum/pages/82.html
資料置き場 https //github.com/malware-dev/MDK-SE/wiki/Quick-Introduction-to-Space-Engineers-Ingame-Scripts APIリファレンスを探しててたどり着いた。解説もあるみたい(英語)。 作成したゲーム内スクリプト置き場 Space Engineers/Program テクニックとか とりあえず記載予定の項目を並べる Visual Studioによる開発環境構築 ブロックのいじり方 LCD Panelとかに文字を表示 LCD Panelとかにスプライトを表示 ブロックの所属しているグリッド(船orステーション)の見分け方 コマンドライン(argument)の解析 設定ファイル(INIファイル)の解析
https://w.atwiki.jp/mcforum/pages/99.html
目次 できたもの 前提 素材集め BGMを付ける音源の登録 クリック音を付ける音源の登録 スクリプトから再生 できたもの 前提 Unity クリッカーゲームを作ってみたい/07-レベルアップする茜ちゃんの続き 素材集め + 詳細を開く クリックした時の音 クリック https //commons.nicovideo.jp/material/nc44409 利用許可範囲:インターネット全体に許可 営利利用:営利利用可能 その他リンク希望の記述あり + 引用文を開く HP・ブログ・SNSをお持ちの方は効果音を使用した際、リンクを貼っていただけると嬉しいです。 無料効果音で遊ぼう! https //taira-komori.jpn.org/ Audacityの音付きエフェクト解説・声の加工方法なんかもやってます。 BGMに 琴葉食品のうたoffvocal https //commons.nicovideo.jp/material/nc278791 利用許可範囲:インターネット全体に許可 営利利用:営利利用可能 適当なAssetsのディレクトリに格納しておく BGMを付ける + 詳細を開く 音源の登録 BackgroundVideoPlayer に音源を持たせることにする Assetsに格納されている音源ファイルを、ヒエラルキーのオブジェクトにドロップすることで、AudioSourceコンポーネントが追加され、Clipとして登録される Play On Awake のチェックで、開始と同時に再生を開始する Loop でBGMとしてなり続けるように設定 Volume は小さめで クリック音を付ける + 詳細を開く 音源の登録 Clickスクリプトのついている GameController に音源を持たせることにする Assetsに格納されている音源ファイルを、ヒエラルキーのオブジェクトにドロップすることで、AudioSourceコンポーネントが追加され、Clipとして登録される Play On Awake のチェックは外すことで、開始時には鳴らないようにする。 Loop も外しておく。 Volume は半分ぐらい(お好み) スクリプトから再生 + 詳細を開く AudioSource を追加し、クリック検知のタイミングで PlayOneShot を用いて自身についている clip を単発再生する。 using UnityEngine; public class Click MonoBehaviour{ GameController gameCtrl; AudioSource audio; void Start() { gameCtrl = GameObject.FindObjectOfType GameController (); audio = gameObject.GetComponent AudioSource (); } void Update() { if (!gameCtrl.clickable) { return; } if (Input.GetMouseButtonDown(0)) { // クリック数をインクリメントし、ゲームコントローラー経由で全体に通知する gameCtrl.IncrementCount(); audio.PlayOneShot(audio.clip); } }}
https://w.atwiki.jp/mcforum/pages/98.html
目次 できたもの 前提 レベルアップ/ダウンする茜ちゃんのアニメーションを作るレベルアップのアニメーション レベルダウンのアニメーション アニメーションコントローラーに登録するレイヤーの追加 レイヤーの設定 トリガーの設定 AkaneController でレベルアップアニメーションの制御をする 概ねレベルアップに合わせて茜ちゃんを大きくする(厳密にはカメラのサイズを大きくする)茜ちゃんのオブジェクトをCanvas上配置に変更 カメラ用のControllerスクリプトを追加 MainCamera を GameController のリストにドロップして、カウンタ更新通知対象として登録する。 できたもの 前提 Unity クリッカーゲームを作ってみたい/06-リファクタリング(ソースコードとオブジェクト関係の整理)の続き レベルアップ/ダウンする茜ちゃんのアニメーションを作る + 詳細を開く 茜ちゃんを選択して、Create New Clip.... から新しいアニメーションが追加できる。 レベルアップのアニメーション レベルダウンのアニメーション アニメーションコントローラーに登録する + 詳細を開く レイヤーの追加 今回はクリックのアニメーションに加算して再生させる Animator の Layers を開いた際に表示される + ボタンから、新しいレイヤーを作成する。 ここでは LevelUp や LevelDown とする レイヤーの設定 レイヤーの右端の歯車を押して設定画面を開く Weight は 1 にする(ここは中途半端にするといい感じに合成してくれるかも。お好み) Blending は Additive を選択 トリガーの設定 トリガーの設定をする LevelUp時はlevelup、LevelDown時はleveldownトリガーを発生させるように 矢印は該当アニメーションに向かう矢印にトリガーの設定をしたのみで、その他は未調整 AkaneController でレベルアップアニメーションの制御をする + 詳細を開く 今回はカウントを 100 で割った値をレベルとし、上がった際にはLevelUpアニメーションを再生し、下がった場合にはLevelDownアニメーションを再生する。 + 詳細を開く using UnityEngine; public class AkaneController MonoBehaviour, ICounterReceiver{ public GameObject akane; Animator anime; int prevLevel; void Start() { anime = akane.GetComponent Animator (); prevLevel = 0; } public void UpdateCounter(int count) { // 数値変動に応じてアニメーションする anime.SetTrigger("click_cancel"); anime.SetTrigger("click"); int currentLevel = count / 100; if (prevLevel currentLevel) { // LevelUp anime.SetTrigger("levelup"); prevLevel = currentLevel; } else if (prevLevel currentLevel) { // LevelDown anime.SetTrigger("leveldown"); prevLevel = currentLevel; } }} 概ねレベルアップに合わせて茜ちゃんを大きくする(厳密にはカメラのサイズを大きくする) + 詳細を開く 茜ちゃんのオブジェクトをCanvas上配置に変更 まず、茜ちゃんは画面対比率を固定するため、Canvas 配下に配置するよう変更 カメラ用のControllerスクリプトを追加 新しく CameraController を作成し、カメラにコンポーネントとして追加する。 CameraController で、カウントの更新に応じてカメラのSizeを変更する。 暫定で適当な値までを設定 + 詳細を開く using System.Collections.Generic;using UnityEngine; public class CameraController MonoBehaviour, ICounterReceiver{ Camera cam; Dictionary int, float camSizeMap = new Dictionary int, float () { {0, 5.0f}, {25, 7.0f}, {50, 8.0f}, {100, 12.0f}, {200, 15.0f}, {300, 17.0f}, {400, 18.5f}, {500, 20.0f}, {600, 22.0f}, {700, 24.0f}, {800, 26.0f}, {900, 28.0f}, {1000, 30.0f}, {1100, 32.0f}, {1200, 34.0f}, }; float prevsize; void Start() { cam = gameObject.GetComponent Camera (); prevsize = 0; } public void UpdateCounter(int count) { float targetSize = 0; foreach(KeyValuePair int, float pair in camSizeMap) { if (count pair.Key) { break; } targetSize = pair.Value; } if (prevsize != targetSize) { cam.orthographicSize = targetSize; prevsize = targetSize; } }} MainCamera を GameController のリストにドロップして、カウンタ更新通知対象として登録する。
https://w.atwiki.jp/mcforum/pages/64.html
やりたいこと 左腕のボーンに対する左腕の各頂点のウェイト設定を、 右腕のボーンに対するウェイト設定にも同じ分布で右腕の各頂点に設定したい! 「ミラー」っていう操作があるけど、使い方がわからずにググってたらやり方がわかったのでまとめときます。 作業の流れ 右腕のボーンに対応している頂点グループを削除 左腕のボーンに対応している頂点グループをコピー コピーした頂点グループにミラー反転を実行 コピーした頂点グループを最初に削除したグループの名前ににリネーム 手順 頂点グループの操作をするので対象のオブジェクトを選択して頂点グループの編集画面を表示する。 1.右腕のボーンに対応している頂点グループを削除 各ボーンに対するウェイトの設定はボーンと同じ名前の頂点グループに設定されている。 ボーンと同じ名前の頂点グループを探して左クリックで選択、右の「-」ボタンで削除。 ちなみにウェイトペイント画面でボーンを選択することでも対応する頂点グループが選択される。 (アクティブグループというらしい) うわああああ 頂点グループを削除すると一時的にこうなるけど落ち着いて作業を進める。 2.左腕のボーンに対応している頂点グループをコピー 左腕のボーンに対応する頂点グループを探して左クリックで選択、右の「▼」ボタンで操作メニューを表示。 「頂点グループをコピー」を実行。 「(元のグループ名)_copy」という名前でコピーが作成される。 3.コピーした頂点グループにミラー反転を実行 コピーした頂点グループを選択した状態で右の「▼」ボタンで操作メニューを表示。 「頂点グループをミラー反転」を実行。 4.コピーした頂点グループを最初に削除したグループの名前ににリネーム 頂点グループの名前を元の右腕のボーンに対応する頂点グループの名前に変える。 「~.L」とかいう名前にしてれば「.R」にするだけでよい。 左腕のウェイトが右腕にミラーできた! ちなみに ウェイトペイントのミラーリング オプションの「Xミラー」にチェックを入れておけばウェイトペイント時、ミラーリングしてくれる。 (ちゃんと左腕のボーンに対する左腕の設定を右腕のボーンに対する頂点グループの右腕側に設定してくれる!) ボーンの左右識別はボーンの名前に.Lとか.Rってつけることでしてくれる。 最初からこれ使ってればいいけど、何かしらの理由でウェイトが左右で全然違う状態になって収集つかなくなったらこのページの方法を頼ることになると思います。 トポロジーによるミラー反転 筆者はまだ使ったことないけど、左右非対称のメッシュの場合に対称位置っぽい頂点をみつけてミラーしてくれるらしい。 頂点グループのミラー反転は「頂点グループをミラー反転(トポロジー)」で オプションのほうは「トポロジーによるミラー反転」にチェックで使えるっぽ。 頂点グループのソート 「▼」ボタンのメニューの中の「名前でソート」を実行すると頂点グループのリストを名前順に並べ替えてくれる。 ボーンに対応する頂点グループを探しやすくなる。(初めに言えよ) 参考 https //wiki.blender.org/index.php/Doc JA/2.6/Manual/Modeling/Meshes/Vertex_Groups/Weight_Paint_Tools ミラーの使い方を探しててたどり着いた。まさにやりたいことのやり方もここに書いてあった。 https //wiki.blender.org/index.php/Doc JA/2.6/Manual/Modeling/Meshes/Vertex_Groups/Vertex_Groups 頂点グループ関係の操作方法。頂点グループはいろいろなことに使えるので覚えておくとよいよ!
https://w.atwiki.jp/mcforum/pages/37.html
太陽のセクターでステーションは建てられるか不明 - sdust 2014-03-15 19 04 22
https://w.atwiki.jp/mcforum/pages/74.html
とりあえずほぼほぼ手順はコレ はじめてのUnity:3Dゲーム(RPG/アクション)の土台を作るまで https //qiita.com/2kiym/items/47e0e18bbb1442bf688c 目次 前提 手順1.Unityのプロジェクト作成 2.大地の作成 3.キャラクターの配置 4.スクリプトの修正(unityのランタイム仕様変更による影響) 5.エフェクトをかける 前提 上記記事のUnity版数は 5.3.4 この記事執筆に際しインストールしたのは最新版…の1版前かも(Unity2019.1.0f2) デバッグ用にVisualStudioを入れておく。多分2015のCommunityあたり。 手順 概ね記事に従えばいいが、ちょいちょい項目が変わっていて詰まった所があるのでメモしていく。 1.Unityのプロジェクト作成 1.1.とりあえずUnity入れたばかりなので外部Asset系は全部後入れでも良さそう(後回し) 1.2.既に環境があるならAdd Asset PackageでStandardAssetを追加しておいても良い(と思ったがもしかするとこの手順だと使わないかもしれない) 1.3.テンプレートはとりあえず「3D」 2.大地の作成 2.1.Asset Storeにアクセスして、「Nature Starter Kit2」を入手、インポート 2.2.記事だと、「HierarchyウィンドウでTerrainを選択し」といきなり配置済みの状態となっているが、バージョンの違いか手順違いにより何もヒエラルキーには配置されていないので、自分で配置する。 2.2.1.プロジェクトウィンドウの「NatureStarterKit2」→「Scene」→「New Terrain」をヒエラルキーにドロップしてサンプルっぽい大地が表示されるのを確認 2.3.配置したTerrainを選択すると、インスペクターにツール類が表示されるので、がりがりテクスチャや高低をペイントして大地を作る(記事でも触れられてるがシムシティライク) 2.4.簡単にカンで使い方を書いていく。2.4.1.一番左のボタン「Create Neighbor Terrains」:Sceneウインドウで隣接するマスを選択することで、そこに新規の平野が作られるっぽい。境界はキレイに繋いでくれる。別オブジェクトとして配置されるので、現在位置から表示非表示変更するような制御をするのかなぁ。 2.4.2.左から二番目のボタン「Paint Terrain」:ブラシサイズと不透明度、ブラシ形状を選んで「Raise or Lower Terrain」で高低の増減、「Paint Texture」でテクスチャ、「Set Height」で高低を固定値で設定、「Smooth Height」で高低を均し、「Stamp Terrain」で指定したたかさの山を設置するペイント操作がそれぞれ行える。 2.4.3.左から3番目(中央)のボタン「Paint Trees」:同じくブラシで植樹していくモード。木が登録されていないので、「EditTree」ボタンを押して、Assetsの「NatureStarterKit2」→「Nature」からtree01~04あたりを登録して木を生やす。 なおTree HeightのRandom?のチェックがついた状態でバーの幅を弄ると生やす木の高さがランダムになる。 2.4.4.右から2番目のボタン「Paint Details」:左クリックで草をペイント、SHIFT+左クリックで除去。Detailsの中から草を選んでペイントする。 2.4.5.一番右のボタン「Terrain Settings」生成に関わる設定全般。細かくなるので説明は割愛するが、描画距離に関わるDistance系の設定を含むTree Detail Objectなんちゃらの設定は描画速度に関わってくるのでよく弄ることになるかもしれない。 3.キャラクターの配置 3.1.Asset Storeから「Unity-Chan! Model」を入手、インポートしておく 3.2.参考記事では「Modelsフォルダ内のunitychan.fbxを」と書いてあるが、現時点版ではそれらしいものがないので「unity-chan!」→「Unity-chan! Model」→「Prefabs」→「for Locomotion」の「unitychan_dynamic_locomotic」をそのまま「Scene」ウインドウにドロップして配置する。ヒエラルキーにドロップした場合は原点あたりに投下されるので、該当項目をダブルクリックでカメラフォーカスして移動させるか数値入力等で配置したい所に移動する。 3.3.参考記事では「Animators- UnityChanLocomotions」の設定や、「Scripts- UnityChanControlScriptWithRgidBody」による操作スクリプトの設定など実施しているが、3.2で配置したプレハブには既に設定済みなので対処不要(ただし、コンパイルエラーが出てるので後ほど修正する)。 3.4.カメラの設定3.4.1.デフォルトのカメラは無効化する(削除かインスペクター最上部のチェックを外す) 3.4.2.Assetsの「unity-chan!」→「Unity-chan! Model」→「Prefabs」→「for Locomotion」に入っている「Main Camera(Prefab Asset)」を配置する。このカメラじゃないとスクリプトでジャンプ等の動作でカメラに細工してる処理が上手く動かず、ジャンプした瞬間に一時停止させられたりする。詳細はソース読んでないので分からない。 追記:もしかするとTagにMainCameraが付いてなかっただけかもしれない。 3.5.その他設定 3.5.1.記事にある「当たり判定の修正とカメラ追尾」に似た調整は必要だが、現時点ではとりあえず置いておく。まずは動かしてみる。 ※参考記事にある「Capsule ColliderのRadiusとHeightをゼロ」にする対処は、やってみたらUnity-Chan!が地面を突き抜けてしまう結果に。それもそうだな・・・ 4.スクリプトの修正(unityのランタイム仕様変更による影響) 4.1.ユニティちゃんのオブジェクトを選択するとインスペクターに並ぶ各種スクリプトに黄色い三角形が表示され、コンパイルエラーが出ているのがわかる。 4.2.とりあえずエラーしているスクリプトをダブルクリックする。VisualStudioが起動するので、上部の「Unityにアタッチ」を押す。するとビルドエラーするのでエラー一覧から赤丸になってるエラーをダブルクリックして該当箇所に飛ぶ。 4.3.ひとつずつエラーを解消していく 4.3.1.AutoBlink.cs の「エラー CS0234 型または名前空間の名前 Policy が名前空間 System.Security に存在しません」については、該当のusing宣言自体をコメントアウトしてしまう。(この解決方法を示していたサイトでは良く分からないが動くようになった、みたいなふんわり感だったが、名前空間の宣言削っても問題ないなら問題ないのだろう…) 4.3.2.「DrawProceduralIndirect」が旧形式だってエラーが出てたはずだが、2回目のプロジェクト作成だと出なくなっている・・・もし出たら「DrawProceduralIndirect」を「DrawProceduralIndirectNow」に直せば多分大丈夫? とりあえずこの時点で再生ボタン押せば大体移動したりジャンプしたりは行ける。 5.エフェクトをかける 5.1.標準のStandardAssetにEffectなさそう…「NatureStarterKit2」→「Standard Assets」→「Effects」→「ImageEffects」→「Scripts」にあった 5.2.とりあえず記事にあったのを一通り試してみる。適用はC#のスクリプトをヒエラルキーのMainCamera(UnityChan用に追加したほう)にドロップして適用する 5.2.1.「Antialiasing」アンチエイリアス、特にインスペクターの設定は弄らなくても大丈夫 5.2.2.「Sun Shafts」空気中の霧に太陽光が線を作るアレ。設定で程よい感じにする。 5.2.3.「Screen Space Ambient Occulusion」草の影をアレしたりして自然に見せるやつ 5.2.4.「Depth of Field」被写界深度設定 5.2.5.「Color Correction Curves」色調変更 5.2.6.「Vignette and Chromatic Aberration」画面隅を暗くしたりブラーかけたりする 5.2.7.「Bloom」なんか光るやつ とりあえず土台とキャラクター動かすのと、なんとなく雰囲気作りの方法は掴めた気がするのでこの記事はここまで。 謝辞 本ページ内で使用されているUnity-Chan!は以下の著作・ライセンスの元使用しています。 © Unity Technologies Japan/UCL http //unity-chan.com/contents/license_jp/